#pragma once
#include<string>
#include<iostream>
class Buffer
{
private:
    // 用于存放数据
    std::string buf_;
public:
    Buffer();
    ~Buffer();
    // 将数据追加到buf中
    void append(const char *data, size_t size);
    // 将数据追加到buf中,由Buffer内部写入报文头部
    void appendwithhead(const char *data, size_t size);
    // 返回buf的大小
    size_t size();
    // 返回buf的首地址
    const char* data();
    // 清空buf
    void clear();
    // 从buf的pos位置开始，删除nn个字节。pos的起始位置是0开始的
    void erase(size_t pos, size_t nn);

};